package com.example.domain.pojo;

import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * @author ljs
 * @date 2025/7/25
 */
@Data // Lombok注解，自动生成getter/setter等方法
public class SysPermission implements Serializable {

 // 主键ID，对应表中id字段，自增策略
 private Long perId;

 // 权限名称，对应表中name字段
 private String name;

 // 菜单名称，对应表中menu_name字段
 private String menuName;

 // 菜单路由，对应表中path字段
 private String path;

 // 菜单图标，对应表中icon字段
 private String icon;

 // 是否显示，对应表中visible字段
 private String visible;

 // 权限编码，对应表中code字段，唯一约束
 private String code;

 // 权限描述，对应表中description字段
 private String description;

 // 权限类型：1-菜单，2-按钮，3-API，对应表中type字段
 private Integer type;

 // 父权限ID，对应表中parent_id字段，0表示顶级权限
 private Long parentId;

 // 排序号，对应表中sort_order字段
 private Integer sortOrder;

 // 创建时间，对应表中create_time字段，插入时自动填充
 private LocalDateTime createTime;

 // 更新时间，对应表中update_time字段，插入和更新时自动填充
 private LocalDateTime updateTime;

 List<SysPermission> children;
}
